/*
 * 测试运算符的使用2：赋值运算符
 * 1. = 、 += 、 -= 、 *= 、 /= 、 %=
 * 2.说明：
 * - 当“=”两侧数据类型不一样时，可以使用自动类型转换或使用强制类型转换原则进行处理

 */
public class learn_setValue {
  public static void main(String[] args) {
    int i = 5;
    long l = 10; // 自动类型提升
    byte b = (byte) i; // 强制类型转换
    // 操作方式1
    int a1 = 10;
    int b1 = 10;
    // 操作方式2：连续赋值
    int a2;
    int b2;
    // 或合并： int a2,b2;
    a2 = b2 = 10;
    System.out.println("a2=" + a2 + "b2=" + b2);
    // 操作方式3：
    // int a3 = 10;
    // int b3 = 10;

    int a3 = 10, b3 = 10;
    System.out.println("a3=" + a3 + "b3=" + b3);

    // ***********************************************
    // += 的 使用
    int m1 = 10;
    m1 += 5;
    System.out.println(m1);

    byte by = 10;
    by += 5; // 编译不通过，因为byte类型的变量不能直接赋值10+5，需要强制类型转换 by = (byte)(by+5)

    int m2 = 1;
    m2 *= 0.1; // m2 = m2 * 0.1 得到的值是0.1 因为0.1是double类型的，所以m2是int类型的，所以m2的值是0
    System.out.println("m2," + m2);
    // 练习1： 如何实现变量的值增加2
    // 方式1：
    int n1 = 10;
    n1 += 2;
    System.out.println("n1=" + n1);
    // 方式2：
    int n2 = 10;
    n2 = n2 + 2;
    System.out.println("n2=" + n2);

    // 练习1： 如何实现变量的值增加1
    // 1
    int n3 = 10;
    n3 += 1;
    System.out.println("n3=" + n3);
    // 2
    int n4 = 10;
    n4 = n4 + 1;
    System.out.println("n4=" + n4);
    // 3
    int n5 = 10;
    n5++; // ++n5都可
    System.out.println("n5=" + n5);
  }
}